package cn.sintang.mianshi;

/**
 * java 中间缓存变量机制 j = j++
 * 等价于
 * temp = j
 * j = j + 1
 * j = temp
 * 读取变量j的值 （0） 到缓存。
 * 改变变量j的值，将其增1 （变为1）。
 * 改变变量j的值为缓存值 （变为0）。
 *
 * 在java中，执行自增运算时，会为每一个自增操作分配一个临时变量，
 * 如果是前缀加（++i），就会“先自加1后赋值（给临时变量）”；
 * 如果是后缀加(i++)，就会“先赋值（给临时变量）后自加1”。运算最终使用的，并不是变量本身，而是被赋了值的临时变量。
 * @author txy
 * @date 2017/11/30 14:55
 */
public class CacheParamTest {
    public static void main(String[] args) {
        int j = 0;
        for (int i = 0; i < 100; i++) {
            j = j++;
        }
        System.out.println(j);
    }
}
